Data storage devices record data on a recordable medium using some form of energy. Hard Disk Drives (HDDs), for example, store data on rotating platters having magnetic surfaces. Solid State Drives (SSDs) employ solid-state memories, such as flash memory devices, to persistently store data. HDDs and SSDs are both non-volatile storage devices that do not require power to maintain the stored information. In addition, HDD and SSD storage devices typically offer relatively fast read access times.
Nonetheless, reduced power consumption and improved data throughput remain important design goals for any storage system. Data throughput is typically obtained by measuring the time required to store, retrieve or otherwise transfer data. Data throughput is typically expressed, for example, as the number of bits transferred per time interval (such as bits-per-second). Power consumption is becoming increasingly important for storage applications, such as HDDs and SSDs. Power consumption issues require that storage devices have sufficient power to operate, and also have important environmental and electrical cost implications.
Throughput and power efficiency are impaired, for example, when bit errors occur. Bit errors occur during transmission or storage of data for a number of reasons, such as noise, interference, or defects on a storage medium. Error correcting decoders process the data and attempt to correct errors and recover the original data. While existing HDD and SSD storage devices have achieved significant improvements in satisfactory reliability and performance, they suffer from a number of limitations, which if overcome, could further improve the reliability and performance of such storage systems. For example, most HDD and SSD storage devices incur significant overhead by storing, transmitting and/or decoding data using error correction techniques. Nonetheless, such error correction codes may be unnecessary if the data is successfully decoded. A need therefore exists for improved techniques for data reliability and performance in storage devices. A further need exists for a memory read channel that improves throughput and reduces power consumption when error correction codes are unnecessary.